package net.zoneland.knowledge.exceptions;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 智办工单处理异常.
 * @author zmq
 * @Date 2022/8/9 11:15
 */
public class DynamicScheduledTaskException extends RuntimeException {

    private static final long serialVersionUID = -6281660640510769199L;
    /**
     * 日志.
     */
    private static final Logger LOGGER = LoggerFactory.getLogger(DynamicScheduledTaskException.class);
    /**
     * 异常前缀.
     */
    private static final String EXCEPTION_PREFIX = "动态定时任务处理异常:";


    /**
     * Constructs a new runtime exception with the specified detail message.
     * The cause is not initialized, and may subsequently be initialized by a
     * call to {@link #initCause}.
     *
     * @param message the detail message. The detail message is saved for
     *                later retrieval by the {@link #getMessage()} method.
     */
    public DynamicScheduledTaskException(final String message) {
        super(EXCEPTION_PREFIX + message);
    }

    /**
     * Constructs a new runtime exception with the specified detail message and
     * cause.  <p>Note that the detail message associated with
     * {@code cause} is <i>not</i> automatically incorporated in
     * this runtime exception's detail message.
     *
     * @param message the detail message (which is saved for later retrieval
     *                by the {@link #getMessage()} method).
     * @param cause   the cause (which is saved for later retrieval by the
     *                {@link #getCause()} method).  (A <tt>null</tt> value is
     *                permitted, and indicates that the cause is nonexistent or
     *                unknown.)
     * @since 1.4
     */
    public DynamicScheduledTaskException(final String message, final Throwable cause) {
        super(EXCEPTION_PREFIX + message, cause);
        LOGGER.error(message);
    }
}
